package com.xiangshizhineng.tianzhangzhi.app.model.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiangshizhineng.tianzhangzhi.app.common.base.BaseEntity;
import com.xiangshizhineng.tianzhangzhi.app.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "田长巡查信息字段说明")
public class Patrol extends BaseEntity implements Serializable {
  /**
   * 巡查标识码
   */
  @ApiModelProperty(value = "巡查标识码")
  private String xcbsm;
  /**
   * 行政区代码
   */
  @ApiModelProperty(value = "行政区代码")
  private String xzqdm;
  /**
   * 图斑Shape数据
   */
  @ApiModelProperty(value = "图斑Shape数据")
  private String shape;
  /**
   * 巡查年份
   */
  @ApiModelProperty(value = "巡查年份")
  private String xcnf;
  /**
   * 巡查月份
   */
  @ApiModelProperty(value = "巡查月份")
  private String xcyf;
  /**
   * 本月巡查次数
   */
  @ApiModelProperty(value = "本月巡查次数")
  private String xcpc;
  /**
   * 巡查时间
   */
  @ApiModelProperty(value = "巡查时间")
//    private Long xcsj;
  private String xcsj;
  /**
   * 当次巡查总里程数（单位：千米,,如：5千米）
   */
  @ApiModelProperty(value = "当次巡查总里程数（单位：千米,,如：5千米）")
  private String xclc;
  /**
   * 巡查状态（0：未完成；1：已完成；2：巡查中）
   */
  @ApiModelProperty(value = "巡查状态（0：未完成；1：已巡查；2：巡查中）")
  private String xczt;
  /**
   * 违法类型
   */
  @ApiModelProperty(value = "违法类型")
  private String bhlx;
  /**
   * 巡查说明
   */
  @ApiModelProperty(value = "巡查说明")
  private String xcsm;
  /**
   * 考核
   */
  @ApiModelProperty(value = "考核")
  private BigDecimal kp;
  /**
   * 用户id
   */
  @ApiModelProperty(value = "用户id")
  @JsonSerialize(using = LongJsonSerializer.class)
  private Long userId;
  /**
   *
   */
  @ApiModelProperty(value = "")
  private Date createTime;
  /**
   *
   */
  @ApiModelProperty(value = "")
  private Date updateTime;
  /**
   * 任务开始时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @ApiModelProperty(value = "任务开始时间")
  private Date sTime;
  /**
   * 任务结束时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @ApiModelProperty(value = "任务结束时间")
  private Date eTime;
  /**
   * 任务状态（0正常，1异常）
   */
  @ApiModelProperty(value = "任务状态（0正常，1异常）")
  private String taskStatus;
  /**
   * 任务描述
   */
  @ApiModelProperty(value = "任务描述")
  private String taskDescribe;
  /**
   * 任务id
   */
  @ApiModelProperty(value = "任务id")
  @JsonSerialize(using = LongJsonSerializer.class)
  private Long taskId;
}
